Logging is employed within virtually all data networks. “Logging” refers generally to recording network-related and/or application-related information in response to one or more predefined network/application events. For example, when an end-user opens a TCP connection to a server, or unsuccessfully attempts to gain access to network resources (e.g., by attempting to log in to a particular server), this information is typically recorded as an entry within a log file. Similarly, if a variable within an application rises above a specified threshold value, a log entry indicating the value and the date and time that the threshold value was exceeded may be stored within a log file. Logging techniques may be employed to record any specified network/application event. Network administrators may then review the log files to identify security issues and/or troubleshoot network problems.
Java 2 Enterprise Edition (J2EE) is a tool commonly used in software development today for developing enterprise applications. Generally, J2EE reduces the costs and complexity associated with developing multi-tier enterprise services. Another advantage of J2EE is that it can be relatively rapidly deployed and enhanced as the need arises. J2EE is currently used in many large-scale application development projects for these reasons.
As application development projects grow larger, logging becomes increasingly more important and complicated. Typically, a log file can be viewed by a client, such as an administrator using a viewing graphical user interface (GUI). However, the viewing GUI can only display a portion of the log file. As a result, the clients have to perform their own buffer management. In addition, it may take a long time in order to retrieve the log data over a network. Hence, a minimal amount of data should be transmitted over the network.
In an enterprise computing environment, such as J2EE environment, a Java swing table model is typically used. However, such implementation is limited to the Java swing table and the Java swing table is carried in a synchronous manner which may hold up the client's operation.